/**
 * @description axios请求的封装
 */
const BASE_URL = "http://fitness.h5.itsource.cn:3701"; // 接口请求的 URL
// const BASE_URL = "http://172.168.100.254:3701"; // 接口请求的 URL

const axios = require("axios");
const local = require("./local");
/**
 * 请求拦截器
 *
 * 作用: 在每一次发送讲求的时候进行统一操作  如让后期每一个请求都带上token 令牌
 *
 *
 */
//验证Authorization 访问所有api接口 必须有token值 有token值表示通过验证 才可以继续访问接口

axios.interceptors.request.use(
	(config) => {
		//获取token
		let token = local.get("tk");
		//判定
		if (token) {
			config.headers.Authorization = `Bearer ${token}`;
		} else {
			console.log("你没有token");
		}

		return config;
	},
	(err) => {
		return Promise.reject(err);
	}
);

/* post请求 */
function post(url, data, callback) {
	axios
		.post(BASE_URL + url, data)
		.then((res) => {
			callback(res.data);
		})
		.catch((err) => {
			callback(err);
		});
}

/*get请求*/
function get(url, callback) {
	axios
		.get(BASE_URL + url)
		.then((res) => {
			callback(res.data);
		})
		.catch((err) => {
			callback(err);
		});
}

//头像

function upPhoto(url, key, value, callback) {
	let fd = new FormData();

	fd.append(key, value);

	post(url, fd, function (res) {
		callback(res);
	});
}

/* 导出 */
module.exports = {
	get,
	post,
	BASE_URL,
	upPhoto,
};
